Insegnamento CYBERSECURITY WITH LABORATORY

Corso
Informatica
Codice insegnamento
A004744
Curriculum
Cybersecurity
Docente
Stefano Bistarelli
CFU
15
Regolamento
Coorte 2024
Erogato
2024/25
Tipo insegnamento
Obbligatorio (Required)
Tipo attività
Attività formativa integrata

mod. 1: THEORY AND ADVANCED PRINCIPLES

Codice A004746
CFU 9
Docente Stefano Bistarelli
Docenti
  • Stefano Bistarelli
  • Ivan Mercanti (Codocenza)
  • Francesco Santini (Codocenza)
Ore
  • 31 ore - Stefano Bistarelli
  • 7 ore (Codocenza) - Ivan Mercanti
  • 25 ore (Codocenza) - Francesco Santini
Attività Caratterizzante
Ambito Discipline informatiche
Settore INF/01
Tipo insegnamento Obbligatorio (Required)
Lingua insegnamento Inglese. Se richiesto in Italiano.
Contenuti 1 Introduzione
2 ACM curriculum guidelines per IAS
3 Storia della Sicurezza
4 IAS/Foundational Concepts in Security
5 IAS/Principles of Secure Design
6 IAS/Defensive Programming
7 IAS/Threats and Attacks
8 IAS/Network Security
9 IAS/Cryptography
10 laboratory activity
11 Capture the Flag competition (CTF)
--------------------
Il corso offre allo studente elementi di sicurezza avanzata riguardanti principalmente Defensive Programming, Identity Management, Sicurezza di OS e Container (Docker), Sicurezza di smart contract in linguaggio Solidity
Testi di riferimento Dispense docente e libri di testo consigliati a lezione:
Computer Security by Dieter Gollmann
Introduction to Computer Security by Matt Bishop
COMPUTER SECURITY by WILLIAM STALLINGS and Lawrie Brown
Principles of Information Security by Michael E. Whitman and Herbert J. Mattord
Security in Computing by Charles P. Pfleeger and Shari Lawrence Pfleeger
-----------------
Secure Coding in C and C++ Author: Robert Seacord Series: SEI Series in Software Engineering Paperback: 600 pages Publisher: Addison-Wesley Professional; 2 edition (April 12, 2013) Language: English ISBN-10: 0321822137 ISBN-13: 978-0321822130

Title: Container Security: Fundamental Technology Concepts that Protect Containerized Applications 1st Edition. O'Reilly Media; 1st edition (April 28, 2020). Paperback 200 pages. ISBN-10 : 1492056707
ISBN-13 : 978-1492056706

Title: Mastering Ethereum: Building Smart Contracts and DApps Author: Andreas M. Antonopoulos, Gavin Wood Ph. D. Paperback: 424 pages Publisher: O'Reilly Media; 1 edition (December 23, 2018) Language: English ISBN-10: 1491971940 ISBN-13: 978-1491971949

Solving Identity Management in Modern Applications: Demystifying OAuth 2.0, OpenID Connect, and SAML 2.0. Publisher : Apress; 1st ed. edition (December 19, 2019). Paperback : 337 pages. ISBN-10 : 148425094X
ISBN-13 : 978-1484250945
Obiettivi formativi Capire il significato di sicurezza informatica nei suoi attributi di confidenzialità, integrità e disponibilità.
Capire le problematiche dei sistemi Sicuri ma connessi su reti insicure.
Capire le nozioni più importanti di sicurezza informatica, sicurezza di rete e sicurezza dei dati e dei programmi.
Saper gestire attacchi e compromissioni di sistemi, reti e dispositivi mobili.
Prerequisiti Conoscenza del protocollo TCP/IP (indspensabile),
conoscenza della programmazione C e del funzionamento della chiamata di procedura e funzione (importante),
conoscenza del linguaggio SQL (indspensabile)
Aver sostenuto con successo l'esame di Programmazione, Reti, Sistemi Operativi, Basi di Dati (importante)
Metodi didattici Lezioni frontali e di laboratorio. Possibili seminari di ospiti.
Altre informazioni Frequenza è fortemente consigliata.
Modalità di verifica dell'apprendimento Colloquio orale della durata media di 30 minuti su argomenti di tutto il programma che evidenzia le capacità espositive dello studente, le sue capacità d'utilizzo appropriato di tecniche e nozioni fondamentali e l'approfondimento dello studio.
Possibilità di specifici progetti o seminari.
Su richiesta dello studente l'esame può' essere sostenuto in lingua Italiana o Inglese.

Per informazioni sui servizi di supporto agli studenti con disabilità e/o DSA visita la pagina http://www.unipg.it/disabilita-e-dsa
Programma esteso 1 Introduzione
Introduction, prerequisites, textbooks, exam rules
2 ACM curriculum guidelines per IAS
from ACM curriculum guidelines, with reference to books where to find specific subjects
3 Storia della Sicurezza
story of security
4 IAS/Foundational Concepts in Security
CIA (Confidentiality, Integrity, Availability):
RIF. Gollmann cap. 3, Bishop cap. 1, Stallings cap. 1, Whitman cap. 1, Pfleeger cap. 1, Anderson cap. 1
Concepts of risk, threats, vulnerabilities, and attack vectors:
RIF. Gollmann cap. 2, Bishop cap. 1e18e23, Stallings cap. 1e14, Whitman cap. 1e2(e4), Pfleeger cap. 1
CH01-CompSec3e-note ... rif a security risk analysis, attack trees e indici,
Authentication and authorization, access control (mandatory vs. discretionary):
RIF. Gollmann cap. 4e5, Bishop cap. 4(e5-8)e12, Stallings cap. 3e4, Whitman cap. 6prima_parte
Policies:
chapter 4 Bishop
Bell-LaPadula:
chapter 5 bishop
,cascade problem , secure reconfiguration
Biba e Clarck-Wilson:
chapter 6 bishop,
Chinese Wall Model, ORCON, RBAC:
chapter 7 bishop,
Crittografia, firma digitale, pki e certificati, protocolli di autenticazione (Needham-Schroeder, Woo-Lam):
chapter 8,9,10 bishop,
note su diffie-hellman
Metodi di autenticazione, Kerberos:
chapter 9,11 bishop,
Concept of trust and trustworthiness:
RIF. Gollmann cap. 13, Bishop chapter. 18e19, Stallings chapter. 13, Pfleeger chapter. 5
Ethics (responsible disclosure):
RIF. Stallings chapter. 19, Whitman chapter. 3ultima_parte, Pfleeger chapter. 9ultima_parte
5 IAS/Principles of Secure Design
(RIF Bishop cap. 13)
Least privilege and isolation, Fail-safe defaults, Open design, End-to-end security, Defense in depth (e.g., defensive programming, layered defense), Security by design, Tensions between security and other design goals, Complete mediation, Use of vetted security components, Economy of mechanism (reducing trusted computing base, minimize attack surface), Usable security , Security composability Prevention, detection, and deterrence
6 IAS/Defensive Programming
Input validation and data sanitization, Choice of programming language and type-safe languages, Examples of input validation and data sanitization errors
Buffer overflows documentazione di riferimento
Integer errors
SQL Injection, documentazione di riferimento
XSS vulnerability, documentazione di riferimento
Race conditions
Correct handling of exceptions and unexpected behaviors
Correct usage of third-party components
Effectively deploying security updates
7 IAS/Threats and Attacks
Attacker goals, capabilities, and motivations
Examples of malware (e.g., viruses, worms, spyware, botnets, Trojan horses, or rootkits)
Denial of Service (DoS) and Distributed Denial of Service (DDoS)
Social engineering (e.g., phishing)
Whitman chapter. 2, Gollmann: chapter 10, bishop: chapter 22, 26, stalling: 6, 7, 10, 11, pfledger: chapter 3
8 IAS/Network Security
RIF: Whitman chapter. 2, Gollmann: chapter 17, bishop: chapter 29, stalling: 8, 9 , pfledger: chapter 7
Network specific threats and attack types (e.g., denial of service, spoofing, sniffing and traffic redirection, man-in-the-middle, message integrity attacks, routing attacks, and traffic analysis)
Use of cryptography for data and network security
Architectures for secure networks
(e.g.,
secure channels,
secure routing protocols,
secure DNS,
VPNs,
anonymous communication protocols,
isolation)
Defense mechanisms and countermeasures
(e.g.,
network monitoring,
intrusion detection,
firewalls,
spoofing and DoS protection,
honeypots,
tracebacks
9 IAS/Cryptography
Basic Cryptography Terminology covering notions pertaining to the different (communication) partners, secure/insecure channel, attackers and their capabilities, encryption, decryption, keys and their characteristics, signatures Cipher types (e.g., Caesar cipher, affine cipher) together with typical attack methods such as frequency analysis Public Key Infrastructure support for digital signature and encryption and its challenges
----------------------
Defensive programming taxonomy
Stack overflows
Heap overflows
Shellcode
Input validation and data sanitization
Mitigation
Operating system support (e.g., address space randomization, canaries)
Integer errors
Concurrency and race conditions
Static and dynamic analysis
Program Verification
Fuzz Testing
Identity management
OAuth2.0
OpenID Connect
SAML
File rights management in Linux
Cgroup, Namespace, Chroot
Contaner security
Introduction to Ethereum
Smart Contract Security in Solidity

mod. 2: PRACTICE AND LABORATORY

Codice A004747
CFU 6
Docente Francesco Santini
Docenti
  • Ivan Mercanti (Codocenza)
  • Francesco Santini
Ore
  • 12 ore (Codocenza) - Ivan Mercanti
  • 40 ore - Francesco Santini
Attività Caratterizzante
Ambito Discipline informatiche
Settore INF/01
Tipo insegnamento Obbligatorio (Required)
Lingua insegnamento INGLESE
Contenuti Hardening di un sistema operativo, concetti ed esempi. Valutazione della sicurezza di rete, strumenti e loro utilizzo. Simulazione a gruppi di un BlueTeam di difesa in un CybeRange.
Testi di riferimento - Mastering Linux Security and Hardening - Third Edition by Donald A. Tevault Released February 2023 Publisher(s): Packt Publishing ISBN: 9781837630516
- Network Security Assessment, 3rd Edition by Chris McNab Released December 2016 Publisher(s): O'Reilly Media, Inc. ISBN: 9781491910955
- The Ubuntu Documentation and Security Guide (https://ubuntu.com/security/certifications/docs)
- Linux hardening checklists and tips e altro materiale online indicato a lezione
Obiettivi formativi L'obiettivo è quello di rendere lo studente consapevole delle problematiche e soluzioni riguardanti l'hardening di un sistema operativo (Linux) riguardante aspetti differenti, come ad esempio, gestione degli utenti, gestione dei certificati, gestione di un firewall. Tutti gli esempi mostrati saranno direttamente messi in pratica dagli studenti a lezione. Verranno inoltre mostrati ed utilizzati protetto i principali strumenti di valutazione delle sicurezza di una rete in un ambiente di laboratorio. Infine, gli studenti acquisiranno esperienza diretta di analisi di attacchi di rete attraverso una piattaforma di Cyberange.
Prerequisiti Concetti base di Reti e Sistemi Operativi
Metodi didattici Lezioni frontali ed esercizi in laboratorio.
Altre informazioni La frequenza delle lezioni è fortemente consigliata.

Sito del Corso: www.unistudium.unipg.it

Calendario esami:
consultare il sito www.informatica.unipg.it
Modalità di verifica dell'apprendimento Assegnazione di un progetto e esame orale.

Per informazioni sui servizi di supporto agli studenti con disabilità e/o DSA visita la pagina http://www.unipg.it/disabilita-e-dsa
Programma esteso Linux hardening (26 ore): Securing Administrative User Accounts, Securing Normal User Accounts, Securing Your Server with a Firewall, SSH Hardening, Encryption Technologies (GPG, eCryptfs, VeraCrypt, OpenSSL and the Public Key Infrastructure), Access Control Lists and Shared Directory Management, Kernel Hardening and Process Isolation, Scanning, Auditing, and Hardening (antivirus, autd, ausearch and aureport, OpenSCAP), Logging and Log Security, Vulnerability Scanning and Intrusion Detection (IPFire, Snort and Security Onion, Lynis), Ubuntu security compliance and certifications (FIPS 140, CIS, DISA-STIG, Common Criteria).

Network Security Assessment (16 ore): tools (nmap, metasploitable, OpenVAS, Nikto, Hydra) and their use, Local Network Discovery, Service Fingerprinting, Assessing Common Network Services (FTP, SSH, Telnet, etc), Assessing Web Servers, Assessing Mail Services, Assessing VPN Services, Assessing Data Stores.

Playing Blue Team in a CyberRange attraverso casi differenti (10 ore).
Condividi su